Strategic programming on graph rewriting systems
نویسندگان
چکیده
Rewriting [4] is a computation model used in computer science, algebra, logic and linguistics, amongst others. Its purpose is to transform syntactic objects (words, terms, programs, proofs, graphs, etc., which we will call generally expressions), by applying rewrite rules until a suitable simplied form is obtained. Given an expression and a set of rewrite rules, it is often the case that several different rules can be applied, and the same rule can be applied to different sub-expressions. To control the rewriting process, a strategy of application of rules is used. In this paper we focus on graph rewriting [11, 27]. Graphs are widely used for describing complex structures in a visual and intuitive way, e.g., UML diagrams, representation of proofs, microprocessor design, XML documents, communication networks, data and control flow, neural networks, biological systems, etc. Graph rewriting has many applications in specification, programming, and simulation tools, amongst others [12, 13]. Several graph-transformation languages and tools have been developed, such as PROGRES [28], AGG [14], Fujaba [23], GROOVE [26], GrGen [17] and GP [25], only to mention a few. When the graphs are large or growing along transformations, or when the number of graph rewriting rules is large, visualisation becomes crucial to understand the graph evolution. PORGY [1] is a visual environment that allows users to define graphs and graph rewriting rules, and to experiment with a graph rewriting system in a visual and interactive way. For instance, one may want to apply a rule r on a graph G at the positions described by the subgraph P to study different rewriting derivations for G. To control the application of graph rewriting rules, PORGY uses a strategy language. In this paper we describe this strategy language and show how it can be used to write high-level declarative programs in several application areas. Strategies for rewriting have been well studied in the case of terms: there are languages that allow the user to specify and apply strategies controlling the use of term rewrite rules (see for instance [9, 29, 6]). For graph rewriting, some of the languages and tools mentioned above also allow users to guide the rewriting engine, for instance by specifying the order in which rules will
منابع مشابه
Strategic Port Graph Rewriting for Autonomic Computing
In this paper, we present a high-level formalism based on port graph rewriting, strategic rewriting, and rewriting calculus. We show that this formalism is suitable for modeling autonomic systems and we illustrate its expressivity for modeling properties of such systems using an example of a mail delivery system.
متن کاملAttributed Hierarchical Port Graphs and Applications
We present attributed hierarchical port graphs (AHP) as an extension of port graphs that aims at facilitating the design of modular port graph models for complex systems. AHP consist of a number of interconnected layers, where each layer defines a port graph whose nodes may link to layers further down the hierarchy; attributes are used to store user-defined data as well as visualisation and run...
متن کاملGraph Creation, Visualisation and Transformation
We describe a tool to create, edit, visualise and compute with interaction nets — a form of graph rewriting systems. The editor, called GraphPaper, allows users to create and edit graphs and their transformation rules using an intuitive user interface. The editor uses the functionalities of the TULIP system, which gives us access to a wealth of visualisation algorithms. Interaction nets are not...
متن کاملStrategic Port Graph Rewriting: An Interactive Modelling and Analysis Framework
We present strategic port graph rewriting as a basis for the implementation of visual modelling and analysis tools. The goal is to facilitate the specification, analysis and simulation of complex systems, using port graphs. A system is represented by an initial graph and a collection of graph rewriting rules, together with a user-defined strategy to control the application of rules. The strateg...
متن کاملNon-intrusive Formal Methods and Strategic Rewriting for a Chemical Application
The concept of formal islands allows adding to existing programming languages, formal features that can be compiled later on into the host language itself, therefore inducing no dependency on the formal language. We illustrate this approach with the TOM system that provides matching, normalization and strategic rewriting, and we give a formal island implementation for the simulation of a chemic...
متن کامل